﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ZedGraph;

namespace PhysicsApplication
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {

        }

        private void speedButton_Click(object sender, EventArgs e)
        {
            SpeedDialog answer = new SpeedDialog();
            answer.ShowDialog();
        }

        private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e)
        {

        }

        private void slopeButton_Click(object sender, EventArgs e)
        {
            SlopeDialog answer = new SlopeDialog();
            answer.ShowDialog();
        }

        private void zedGraphControl1_Load(object sender, EventArgs e)
        {
            // get a reference to the GraphPane

            GraphPane myPane = zedGraphControl1.GraphPane;

            // Set the Titles

            myPane.Title.Text = "My Test Graph\n(For CodeProject Sample)";
            myPane.XAxis.Title.Text = "My X Axis";
            myPane.YAxis.Title.Text = "My Y Axis";

            // Make up some data arrays based on the Sine function

            double x, y1, y2;
            PointPairList list1 = new PointPairList();
            PointPairList list2 = new PointPairList();
            for (int i = 0; i < 36; i++)
            {
                x = (double)i + 5;
                y1 = 1.5 + Math.Sin((double)i * 0.2);
                y2 = 3.0 * (1.5 + Math.Sin((double)i * 0.2));
                list1.Add(x, y1);
                list2.Add(x, y2);
            }

            //clear any old values

            CurveList currentList = zedGraphControl1.GraphPane.CurveList;
            currentList.Clear();
            // Generate a red curve with diamond
            // symbols, and "Porsche" in the legend
            LineItem myCurve = myPane.AddCurve("Porsche",
                  list1, Color.Red, SymbolType.Diamond);

            // Generate a blue curve with circle
            // symbols, and "Piper" in the legend

            LineItem myCurve2 = myPane.AddCurve("Piper",
                  list2, Color.Blue, SymbolType.Circle);

            // Tell ZedGraph to refigure the

            // axes since the data have changed

            //zedGraphControl1.AxisChange();
            zedGraphControl1.RestoreScale(myPane);
            //zedGraphControl1.Update();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            zedGraphControl1_Load(sender, e);
            //plot_triangle(); 
        }

        private void refForm_Click(object sender, EventArgs e)
        {
            ReferenceForm refForm = new ReferenceForm();
            refForm.ShowDialog();
        }

        private void defineBinom_Click(object sender, EventArgs e)
        {
            DefineBinom tempForm = new DefineBinom();
            tempForm.ShowDialog();
            
        }

        private void plot_triangle(  )
        {
            // get a reference to the GraphPane
            GraphPane myPane = zedGraphControl1.GraphPane;

            // Set the Titles
            myPane.Title.Text = "My Triangle Graph";
            myPane.XAxis.Title.Text = "X Axis";
            myPane.YAxis.Title.Text = "Y Axis";

            // Make up some data arrays based on the Sine function

            double Ax, Ay, Bx, By, Cx, Cy;
            PointPairList list1 = new PointPairList();
            PointPairList list2 = new PointPairList();
            Ax = 0.0;
            Ay = 0.0;
            Bx = 5;
            By = 5;
            Cx = 0;
            Cy = 5;

            list1.Add(Ax, Ay);
            list1.Add(Bx, By);
            list1.Add(Cx, Cy);

            zedGraphControl1.RestoreScale(myPane);
        }
    }
}
